package com.zksk.mbg.admin.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.zksk.common.core.web.domain.BaseEntity;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;

/**
 * <p>
 * 中标信息表
 * </p>
 *
 * @author Zksk Acmen
 * @since 2022-12-15
 */
@Data
@Accessors(chain = true)
@TableName("platform_fact_win")
@ApiModel(value = "Win对象", description = "中标信息表")
public class Win extends BaseEntity {

    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @ApiModelProperty("标段编号")
    @TableField("section_code")
    private String sectionCode;

    @ApiModelProperty("标段名称")
    @TableField("section_name")
    private String sectionName;

    @ApiModelProperty("项目名称")
    @TableField("project_name")
    private String projectName;

    @ApiModelProperty("项目编号")
    @TableField("project_code")
    private String projectCode;

    @ApiModelProperty("项目状态编号")
    @TableField("project_status_id")
    private String projectStatusId;

    @ApiModelProperty("项目状态")
    @TableField("project_status")
    private String projectStatus;

    @ApiModelProperty("招标单位id")
    @TableField("tenderee_id")
    private Long tendereeId;

    @ApiModelProperty("招标单位名称")
    @TableField("tenderee_name")
    private String tendereeName;

    @ApiModelProperty("招标单位统一信用代码")
    @TableField("tenderee_code")
    private String tendereeCode;

    @ApiModelProperty("招标单位地址")
    @TableField("tenderee_address")
    private String tendereeAddress;

    @ApiModelProperty("招标单位联系人")
    @TableField("tenderee_contact")
    private String tendereeContact;

    @ApiModelProperty("招标单位联系电话")
    @TableField("tenderee_phone")
    private String tendereePhone;

    @ApiModelProperty("用户id")
    @TableField("member_id")
    private Long memberId;

    @ApiModelProperty("中标单位")
    @TableField("winner_company")
    private String winnerCompany;

    @ApiModelProperty("中标单位联系人")
    @TableField("winner_contact")
    private String winnerContact;

    @ApiModelProperty("中标单位联系电话")
    @TableField("winner_phone")
    private String winnerPhone;

    @ApiModelProperty("中标单位统一信用代码")
    @TableField("winner_code")
    private String winnerCode;

    @ApiModelProperty("中标单位基本户名")
    @TableField("winner_bank_name")
    private String winnerBankName;

    @ApiModelProperty("中标单位基本户账号")
    @TableField("winner_bank")
    private String winnerBank;

    @ApiModelProperty("中标单位企业类型（民营、国企）")
    @TableField("winner_type")
    private String winnerType;

    @ApiModelProperty("中标单位使用资质（如：建筑资质一级）")
    @TableField("winner_credential")
    private String winnerCredential;

    @ApiModelProperty("招标文件下载地址")
    @TableField("invite_file_url")
    private String inviteFileUrl;

    @ApiModelProperty("中标文件下载地址")
    @TableField("win_file_url")
    private String winFileUrl;

    @ApiModelProperty("中标时间")
    @TableField("win_time")
    private LocalDateTime winTime;

    @ApiModelProperty("保证金金额（履约、预付款）")
    @TableField("guarantee_amount")
    private BigDecimal guaranteeAmount;

    @ApiModelProperty("中标金额")
    @TableField("win_amount")
    private BigDecimal winAmount;

    @ApiModelProperty("项目类型编号")
    @TableField("project_type_id")
    private Integer projectTypeId;

    @ApiModelProperty("项目类型（工程建设、政府采购）")
    @TableField("project_type")
    private String projectType;

    @ApiModelProperty("服务类型编号")
    @TableField("service_type_id")
    private Integer serviceTypeId;

    @ApiModelProperty("服务类型（交通、水利、市政，货物、服务、工程等）")
    @TableField("service_type")
    private String serviceType;

    @ApiModelProperty("中标公告地址")
    @TableField("notice_url")
    private String noticeUrl;

    @ApiModelProperty("合同工期（日历天）")
    @TableField("contract_date")
    private LocalDateTime contractDate;

    @ApiModelProperty("计划开工时间")
    @TableField("plan_stime")
    private LocalDateTime planStime;

    @ApiModelProperty("计划完工时间")
    @TableField("plan_etime")
    private LocalDateTime planEtime;

    @ApiModelProperty("中标项目单位建筑资质")
    @TableField("winner_project_credential")
    private String winnerProjectCredential;

    @ApiModelProperty("交易来源（需带区域属性）")
    @TableField("bus_source")
    private String busSource;

    @ApiModelProperty("删除标识（0 正常 2 删除）")
    @TableField(value = "del_flag", fill = FieldFill.INSERT)
    @TableLogic
    private Integer delFlag;


    public static final String ID = "id";

    public static final String SECTION_CODE = "section_code";

    public static final String SECTION_NAME = "section_name";

    public static final String PROJECT_NAME = "project_name";

    public static final String PROJECT_CODE = "project_code";

    public static final String PROJECT_STATUS_ID = "project_status_id";

    public static final String PROJECT_STATUS = "project_status";

    public static final String TENDEREE_ID = "tenderee_id";

    public static final String TENDEREE_NAME = "tenderee_name";

    public static final String TENDEREE_CODE = "tenderee_code";

    public static final String TENDEREE_ADDRESS = "tenderee_address";

    public static final String TENDEREE_CONTACT = "tenderee_contact";

    public static final String TENDEREE_PHONE = "tenderee_phone";

    public static final String MEMBER_ID = "member_id";

    public static final String WINNER_COMPANY = "winner_company";

    public static final String WINNER_CONTACT = "winner_contact";

    public static final String WINNER_PHONE = "winner_phone";

    public static final String WINNER_CODE = "winner_code";

    public static final String WINNER_BANK_NAME = "winner_bank_name";

    public static final String WINNER_BANK = "winner_bank";

    public static final String WINNER_TYPE = "winner_type";

    public static final String WINNER_CREDENTIAL = "winner_credential";

    public static final String INVITE_FILE_URL = "invite_file_url";

    public static final String WIN_FILE_URL = "win_file_url";

    public static final String WIN_TIME = "win_time";

    public static final String GUARANTEE_AMOUNT = "guarantee_amount";

    public static final String WIN_AMOUNT = "win_amount";

    public static final String PROJECT_TYPE_ID = "project_type_id";

    public static final String PROJECT_TYPE = "project_type";

    public static final String SERVICE_TYPE_ID = "service_type_id";

    public static final String SERVICE_TYPE = "service_type";

    public static final String NOTICE_URL = "notice_url";

    public static final String CONTRACT_DATE = "contract_date";

    public static final String PLAN_STIME = "plan_stime";

    public static final String PLAN_ETIME = "plan_etime";

    public static final String WINNER_PROJECT_CREDENTIAL = "winner_project_credential";

    public static final String BUS_SOURCE = "bus_source";

    public static final String DEL_FLAG = "del_flag";

    @Override
    public Serializable pkVal() {
        return this.id;
    }

}
